partly revert my recent expanding change to not expand the table if all
authorTim Janik <timj@gtk.org>
Wed, 13 Feb 2002 05:48:56 +0000 (05:48 +0000)
committerTim Janik <timj@src.gnome.org>
Wed, 13 Feb 2002 05:48:56 +0000 (05:48 +0000)
Wed Feb 13 06:42:37 2002  Tim Janik  <timj@gtk.org>

        * gtk/gtktable.c (gtk_table_size_allocate_pass1): partly revert
        my recent expanding change to not expand the table if all children
        have not epxand behaviour. this fixes palette views which often
        use homogeneous non-expanding tables.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtktable.c

index 7355b6e1ba27f2d2df9ec572d43ee2e915fc45a7..8a22df19d0cf4851f7eae468e5bbbe799db8f4e1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Wed Feb 13 06:42:37 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtktable.c (gtk_table_size_allocate_pass1): partly revert
+       my recent expanding change to not expand the table if all children
+       have not epxand behaviour. this fixes palette views which often
+       use homogeneous non-expanding tables.
+
 Tue Feb 12 14:27:41 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): emit
index 7355b6e1ba27f2d2df9ec572d43ee2e915fc45a7..8a22df19d0cf4851f7eae468e5bbbe799db8f4e1 100644 (file)
@@ -1,3 +1,10 @@
+Wed Feb 13 06:42:37 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtktable.c (gtk_table_size_allocate_pass1): partly revert
+       my recent expanding change to not expand the table if all children
+       have not epxand behaviour. this fixes palette views which often
+       use homogeneous non-expanding tables.
+
 Tue Feb 12 14:27:41 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): emit
index 7355b6e1ba27f2d2df9ec572d43ee2e915fc45a7..8a22df19d0cf4851f7eae468e5bbbe799db8f4e1 100644 (file)
@@ -1,3 +1,10 @@
+Wed Feb 13 06:42:37 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtktable.c (gtk_table_size_allocate_pass1): partly revert
+       my recent expanding change to not expand the table if all children
+       have not epxand behaviour. this fixes palette views which often
+       use homogeneous non-expanding tables.
+
 Tue Feb 12 14:27:41 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): emit
index 7355b6e1ba27f2d2df9ec572d43ee2e915fc45a7..8a22df19d0cf4851f7eae468e5bbbe799db8f4e1 100644 (file)
@@ -1,3 +1,10 @@
+Wed Feb 13 06:42:37 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtktable.c (gtk_table_size_allocate_pass1): partly revert
+       my recent expanding change to not expand the table if all children
+       have not epxand behaviour. this fixes palette views which often
+       use homogeneous non-expanding tables.
+
 Tue Feb 12 14:27:41 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): emit
index 7355b6e1ba27f2d2df9ec572d43ee2e915fc45a7..8a22df19d0cf4851f7eae468e5bbbe799db8f4e1 100644 (file)
@@ -1,3 +1,10 @@
+Wed Feb 13 06:42:37 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtktable.c (gtk_table_size_allocate_pass1): partly revert
+       my recent expanding change to not expand the table if all children
+       have not epxand behaviour. this fixes palette views which often
+       use homogeneous non-expanding tables.
+
 Tue Feb 12 14:27:41 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): emit
index 7355b6e1ba27f2d2df9ec572d43ee2e915fc45a7..8a22df19d0cf4851f7eae468e5bbbe799db8f4e1 100644 (file)
@@ -1,3 +1,10 @@
+Wed Feb 13 06:42:37 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtktable.c (gtk_table_size_allocate_pass1): partly revert
+       my recent expanding change to not expand the table if all children
+       have not epxand behaviour. this fixes palette views which often
+       use homogeneous non-expanding tables.
+
 Tue Feb 12 14:27:41 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): emit
index 7355b6e1ba27f2d2df9ec572d43ee2e915fc45a7..8a22df19d0cf4851f7eae468e5bbbe799db8f4e1 100644 (file)
@@ -1,3 +1,10 @@
+Wed Feb 13 06:42:37 2002  Tim Janik  <timj@gtk.org>
+
+       * gtk/gtktable.c (gtk_table_size_allocate_pass1): partly revert
+       my recent expanding change to not expand the table if all children
+       have not epxand behaviour. this fixes palette views which often
+       use homogeneous non-expanding tables.
+
 Tue Feb 12 14:27:41 2002  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): emit
index 68e2fef02a946bdd2f337476966133b942b0333d..da962fb68d7f63b1931b3f46e354f6fdcbc6ad23 100644 (file)
@@ -1335,16 +1335,30 @@ gtk_table_size_allocate_pass1 (GtkTable *table)
   
   if (table->homogeneous)
     {
-      width = real_width;
-      
-      for (col = 0; col + 1 < table->ncols; col++)
-       width -= table->cols[col].spacing;
-      
-      for (col = 0; col < table->ncols; col++)
+      if (!table->children)
+       nexpand = 1;
+      else
        {
-         extra = width / (table->ncols - col);
-         table->cols[col].allocation = MAX (1, extra);
-         width -= extra;
+         nexpand = 0;
+         for (col = 0; col < table->ncols; col++)
+           if (table->cols[col].expand)
+             {
+               nexpand += 1;
+               break;
+             }
+       }
+      if (nexpand)
+       {
+         width = real_width;
+         for (col = 0; col + 1 < table->ncols; col++)
+           width -= table->cols[col].spacing;
+         
+         for (col = 0; col < table->ncols; col++)
+           {
+             extra = width / (table->ncols - col);
+             table->cols[col].allocation = MAX (1, extra);
+             width -= extra;
+           }
        }
     }
   else
@@ -1412,17 +1426,32 @@ gtk_table_size_allocate_pass1 (GtkTable *table)
   
   if (table->homogeneous)
     {
-      height = real_height;
-      
-      for (row = 0; row + 1 < table->nrows; row++)
-       height -= table->rows[row].spacing;
-      
-      
-      for (row = 0; row < table->nrows; row++)
+      if (!table->children)
+       nexpand = 1;
+      else
+       {
+         nexpand = 0;
+         for (row = 0; row < table->nrows; row++)
+           if (table->rows[row].expand)
+             {
+               nexpand += 1;
+               break;
+             }
+       }
+      if (nexpand)
        {
-         extra = height / (table->nrows - row);
-         table->rows[row].allocation = MAX (1, extra);
-         height -= extra;
+         height = real_height;
+         
+         for (row = 0; row + 1 < table->nrows; row++)
+           height -= table->rows[row].spacing;
+         
+         
+         for (row = 0; row < table->nrows; row++)
+           {
+             extra = height / (table->nrows - row);
+             table->rows[row].allocation = MAX (1, extra);
+             height -= extra;
+           }
        }
     }
   else